
class Test {
  List<AppLabelResponses>? appLabelResponses;
  int? articleId;
  BookInfo? bookInfo;
  int? circleTabId;
  int? collectArticleCount;
  int? commentArticleCount;
  String? content;
  List<HabitInfoList>? habitInfoList;
  List<String>? imageList;
  bool? isCollectLike;
  int? isRecommend;
  LikeOrgUserInfo? likeOrgUserInfo;
  int? pubTime;
  RunInfo? runInfo;
  RunOutdoorsInfo? runOutdoorsInfo;
  int? status;
  List<TopInfoList>? topInfoList;
  int? type;
  UserInfo? userInfo;

  Test({this.appLabelResponses, this.articleId, this.bookInfo, this.circleTabId, this.collectArticleCount, this.commentArticleCount, this.content, this.habitInfoList, this.imageList, this.isCollectLike, this.isRecommend, this.likeOrgUserInfo, this.pubTime, this.runInfo, this.runOutdoorsInfo, this.status, this.topInfoList, this.type, this.userInfo});

  Test.fromJson(Map<String, dynamic> json) {
    if(json["appLabelResponses"] is List) {
      appLabelResponses = json["appLabelResponses"] == null ? null : (json["appLabelResponses"] as List).map((e) => AppLabelResponses.fromJson(e)).toList();
    }
    if(json["articleId"] is int) {
      articleId = json["articleId"];
    }
    if(json["bookInfo"] is Map) {
      bookInfo = json["bookInfo"] == null ? null : BookInfo.fromJson(json["bookInfo"]);
    }
    if(json["circleTabId"] is int) {
      circleTabId = json["circleTabId"];
    }
    if(json["collectArticleCount"] is int) {
      collectArticleCount = json["collectArticleCount"];
    }
    if(json["commentArticleCount"] is int) {
      commentArticleCount = json["commentArticleCount"];
    }
    if(json["content"] is String) {
      content = json["content"];
    }
    if(json["habitInfoList"] is List) {
      habitInfoList = json["habitInfoList"] == null ? null : (json["habitInfoList"] as List).map((e) => HabitInfoList.fromJson(e)).toList();
    }
    if(json["imageList"] is List) {
      imageList = json["imageList"] == null ? null : List<String>.from(json["imageList"]);
    }
    if(json["isCollectLike"] is bool) {
      isCollectLike = json["isCollectLike"];
    }
    if(json["isRecommend"] is int) {
      isRecommend = json["isRecommend"];
    }
    if(json["likeOrgUserInfo"] is Map) {
      likeOrgUserInfo = json["likeOrgUserInfo"] == null ? null : LikeOrgUserInfo.fromJson(json["likeOrgUserInfo"]);
    }
    if(json["pubTime"] is int) {
      pubTime = json["pubTime"];
    }
    if(json["runInfo"] is Map) {
      runInfo = json["runInfo"] == null ? null : RunInfo.fromJson(json["runInfo"]);
    }
    if(json["runOutdoorsInfo"] is Map) {
      runOutdoorsInfo = json["runOutdoorsInfo"] == null ? null : RunOutdoorsInfo.fromJson(json["runOutdoorsInfo"]);
    }
    if(json["status"] is int) {
      status = json["status"];
    }
    if(json["topInfoList"] is List) {
      topInfoList = json["topInfoList"] == null ? null : (json["topInfoList"] as List).map((e) => TopInfoList.fromJson(e)).toList();
    }
    if(json["type"] is int) {
      type = json["type"];
    }
    if(json["userInfo"] is Map) {
      userInfo = json["userInfo"] == null ? null : UserInfo.fromJson(json["userInfo"]);
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    if(appLabelResponses != null) {
      _data["appLabelResponses"] = appLabelResponses?.map((e) => e.toJson()).toList();
    }
    _data["articleId"] = articleId;
    if(bookInfo != null) {
      _data["bookInfo"] = bookInfo?.toJson();
    }
    _data["circleTabId"] = circleTabId;
    _data["collectArticleCount"] = collectArticleCount;
    _data["commentArticleCount"] = commentArticleCount;
    _data["content"] = content;
    if(habitInfoList != null) {
      _data["habitInfoList"] = habitInfoList?.map((e) => e.toJson()).toList();
    }
    if(imageList != null) {
      _data["imageList"] = imageList;
    }
    _data["isCollectLike"] = isCollectLike;
    _data["isRecommend"] = isRecommend;
    if(likeOrgUserInfo != null) {
      _data["likeOrgUserInfo"] = likeOrgUserInfo?.toJson();
    }
    _data["pubTime"] = pubTime;
    if(runInfo != null) {
      _data["runInfo"] = runInfo?.toJson();
    }
    if(runOutdoorsInfo != null) {
      _data["runOutdoorsInfo"] = runOutdoorsInfo?.toJson();
    }
    _data["status"] = status;
    if(topInfoList != null) {
      _data["topInfoList"] = topInfoList?.map((e) => e.toJson()).toList();
    }
    _data["type"] = type;
    if(userInfo != null) {
      _data["userInfo"] = userInfo?.toJson();
    }
    return _data;
  }
}

class UserInfo {
  int? chieflyDeptId;
  String? departmentInfo;
  int? orgId;
  String? orgPositionTitle;
  int? orgUserId;
  List<int>? participationDeptIds;
  List<int>? responsibleDeptIds;
  String? userLogo;
  String? userName;
  String? userPhone;

  UserInfo({this.chieflyDeptId, this.departmentInfo, this.orgId, this.orgPositionTitle, this.orgUserId, this.participationDeptIds, this.responsibleDeptIds, this.userLogo, this.userName, this.userPhone});

  UserInfo.fromJson(Map<String, dynamic> json) {
    if(json["chieflyDeptId"] is int) {
      chieflyDeptId = json["chieflyDeptId"];
    }
    if(json["departmentInfo"] is String) {
      departmentInfo = json["departmentInfo"];
    }
    if(json["orgId"] is int) {
      orgId = json["orgId"];
    }
    if(json["orgPositionTitle"] is String) {
      orgPositionTitle = json["orgPositionTitle"];
    }
    if(json["orgUserId"] is int) {
      orgUserId = json["orgUserId"];
    }
    if(json["participationDeptIds"] is List) {
      participationDeptIds = json["participationDeptIds"] == null ? null : List<int>.from(json["participationDeptIds"]);
    }
    if(json["responsibleDeptIds"] is List) {
      responsibleDeptIds = json["responsibleDeptIds"] == null ? null : List<int>.from(json["responsibleDeptIds"]);
    }
    if(json["userLogo"] is String) {
      userLogo = json["userLogo"];
    }
    if(json["userName"] is String) {
      userName = json["userName"];
    }
    if(json["userPhone"] is String) {
      userPhone = json["userPhone"];
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["chieflyDeptId"] = chieflyDeptId;
    _data["departmentInfo"] = departmentInfo;
    _data["orgId"] = orgId;
    _data["orgPositionTitle"] = orgPositionTitle;
    _data["orgUserId"] = orgUserId;
    if(participationDeptIds != null) {
      _data["participationDeptIds"] = participationDeptIds;
    }
    if(responsibleDeptIds != null) {
      _data["responsibleDeptIds"] = responsibleDeptIds;
    }
    _data["userLogo"] = userLogo;
    _data["userName"] = userName;
    _data["userPhone"] = userPhone;
    return _data;
  }
}

class TopInfoList {
  int? topId;
  String? topName;

  TopInfoList({this.topId, this.topName});

  TopInfoList.fromJson(Map<String, dynamic> json) {
    if(json["topId"] is int) {
      topId = json["topId"];
    }
    if(json["topName"] is String) {
      topName = json["topName"];
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["topId"] = topId;
    _data["topName"] = topName;
    return _data;
  }
}

class RunOutdoorsInfo {
  String? distance;
  String? fastSpendDesc;
  int? mapHide;
  bool? morningRun;
  String? runImg;
  String? runLogUrl;
  int? runRecordId;
  String? runSecond;
  String? runTime;
  String? slowSpendDesc;
  String? spendDesc;
  int? stepFrequency;
  int? totalSteps;
  String? trackFileUrl;

  RunOutdoorsInfo({this.distance, this.fastSpendDesc, this.mapHide, this.morningRun, this.runImg, this.runLogUrl, this.runRecordId, this.runSecond, this.runTime, this.slowSpendDesc, this.spendDesc, this.stepFrequency, this.totalSteps, this.trackFileUrl});

  RunOutdoorsInfo.fromJson(Map<String, dynamic> json) {
    if(json["distance"] is String) {
      distance = json["distance"];
    }
    if(json["fastSpendDesc"] is String) {
      fastSpendDesc = json["fastSpendDesc"];
    }
    if(json["mapHide"] is int) {
      mapHide = json["mapHide"];
    }
    if(json["morningRun"] is bool) {
      morningRun = json["morningRun"];
    }
    if(json["runImg"] is String) {
      runImg = json["runImg"];
    }
    if(json["runLogUrl"] is String) {
      runLogUrl = json["runLogUrl"];
    }
    if(json["runRecordId"] is int) {
      runRecordId = json["runRecordId"];
    }
    if(json["runSecond"] is String) {
      runSecond = json["runSecond"];
    }
    if(json["runTime"] is String) {
      runTime = json["runTime"];
    }
    if(json["slowSpendDesc"] is String) {
      slowSpendDesc = json["slowSpendDesc"];
    }
    if(json["spendDesc"] is String) {
      spendDesc = json["spendDesc"];
    }
    if(json["stepFrequency"] is int) {
      stepFrequency = json["stepFrequency"];
    }
    if(json["totalSteps"] is int) {
      totalSteps = json["totalSteps"];
    }
    if(json["trackFileUrl"] is String) {
      trackFileUrl = json["trackFileUrl"];
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["distance"] = distance;
    _data["fastSpendDesc"] = fastSpendDesc;
    _data["mapHide"] = mapHide;
    _data["morningRun"] = morningRun;
    _data["runImg"] = runImg;
    _data["runLogUrl"] = runLogUrl;
    _data["runRecordId"] = runRecordId;
    _data["runSecond"] = runSecond;
    _data["runTime"] = runTime;
    _data["slowSpendDesc"] = slowSpendDesc;
    _data["spendDesc"] = spendDesc;
    _data["stepFrequency"] = stepFrequency;
    _data["totalSteps"] = totalSteps;
    _data["trackFileUrl"] = trackFileUrl;
    return _data;
  }
}

class RunInfo {
  bool? morningRun;
  String? runImageUrl;
  String? runSpeed;
  int? runTime;
  String? runTotal;
  int? stepNumber;

  RunInfo({this.morningRun, this.runImageUrl, this.runSpeed, this.runTime, this.runTotal, this.stepNumber});

  RunInfo.fromJson(Map<String, dynamic> json) {
    if(json["morningRun"] is bool) {
      morningRun = json["morningRun"];
    }
    if(json["runImageUrl"] is String) {
      runImageUrl = json["runImageUrl"];
    }
    if(json["runSpeed"] is String) {
      runSpeed = json["runSpeed"];
    }
    if(json["runTime"] is int) {
      runTime = json["runTime"];
    }
    if(json["runTotal"] is String) {
      runTotal = json["runTotal"];
    }
    if(json["stepNumber"] is int) {
      stepNumber = json["stepNumber"];
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["morningRun"] = morningRun;
    _data["runImageUrl"] = runImageUrl;
    _data["runSpeed"] = runSpeed;
    _data["runTime"] = runTime;
    _data["runTotal"] = runTotal;
    _data["stepNumber"] = stepNumber;
    return _data;
  }
}

class LikeOrgUserInfo {
  int? curMonthLike;
  String? departmentInfo;
  int? likeOrgUserId;
  String? likeTotal;
  String? userLogo;
  String? userName;

  LikeOrgUserInfo({this.curMonthLike, this.departmentInfo, this.likeOrgUserId, this.likeTotal, this.userLogo, this.userName});

  LikeOrgUserInfo.fromJson(Map<String, dynamic> json) {
    if(json["curMonthLike"] is int) {
      curMonthLike = json["curMonthLike"];
    }
    if(json["departmentInfo"] is String) {
      departmentInfo = json["departmentInfo"];
    }
    if(json["likeOrgUserId"] is int) {
      likeOrgUserId = json["likeOrgUserId"];
    }
    if(json["likeTotal"] is String) {
      likeTotal = json["likeTotal"];
    }
    if(json["userLogo"] is String) {
      userLogo = json["userLogo"];
    }
    if(json["userName"] is String) {
      userName = json["userName"];
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["curMonthLike"] = curMonthLike;
    _data["departmentInfo"] = departmentInfo;
    _data["likeOrgUserId"] = likeOrgUserId;
    _data["likeTotal"] = likeTotal;
    _data["userLogo"] = userLogo;
    _data["userName"] = userName;
    return _data;
  }
}

class HabitInfoList {
  int? articleId;
  int? groupId;
  int? habitId;
  String? name;
  int? status;

  HabitInfoList({this.articleId, this.groupId, this.habitId, this.name, this.status});

  HabitInfoList.fromJson(Map<String, dynamic> json) {
    if(json["articleId"] is int) {
      articleId = json["articleId"];
    }
    if(json["groupId"] is int) {
      groupId = json["groupId"];
    }
    if(json["habitId"] is int) {
      habitId = json["habitId"];
    }
    if(json["name"] is String) {
      name = json["name"];
    }
    if(json["status"] is int) {
      status = json["status"];
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["articleId"] = articleId;
    _data["groupId"] = groupId;
    _data["habitId"] = habitId;
    _data["name"] = name;
    _data["status"] = status;
    return _data;
  }
}

class BookInfo {
  String? bookCover;
  int? bookId;
  String? bookTitle;

  BookInfo({this.bookCover, this.bookId, this.bookTitle});

  BookInfo.fromJson(Map<String, dynamic> json) {
    if(json["bookCover"] is String) {
      bookCover = json["bookCover"];
    }
    if(json["bookId"] is int) {
      bookId = json["bookId"];
    }
    if(json["bookTitle"] is String) {
      bookTitle = json["bookTitle"];
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["bookCover"] = bookCover;
    _data["bookId"] = bookId;
    _data["bookTitle"] = bookTitle;
    return _data;
  }
}

class AppLabelResponses {
  int? labelId;
  String? labelName;
  int? labelTimes;

  AppLabelResponses({this.labelId, this.labelName, this.labelTimes});

  AppLabelResponses.fromJson(Map<String, dynamic> json) {
    if(json["labelId"] is int) {
      labelId = json["labelId"];
    }
    if(json["labelName"] is String) {
      labelName = json["labelName"];
    }
    if(json["labelTimes"] is int) {
      labelTimes = json["labelTimes"];
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> _data = <String, dynamic>{};
    _data["labelId"] = labelId;
    _data["labelName"] = labelName;
    _data["labelTimes"] = labelTimes;
    return _data;
  }
}